﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Odense_Kommune.Interfaces;

namespace Odense_Kommune.Model
{
    /// <summary>
    /// Klasse skrevet af Søren Eg Pedersen
    /// </summary>
    public class VirkningerOpnåetCollection
    {
        #region Varibler
        private List<IVirkningerOpnået> _listafvirkninger;
        #endregion

        #region Konstruktør
        public VirkningerOpnåetCollection() { ListeafVirkningerOpnået = new List<IVirkningerOpnået>(); }
        #endregion

        #region Metoder
        public void OpretVirkningOpnået(DateTime dato, string kommentar, bool udeblev, int fagligopnået, int fagligønsket, int borgeropnået, int borgerønsket, int symptom, int funktion)
        {
            ListeafVirkningerOpnået.Add(new VirkningerOpnået(dato, kommentar, udeblev, fagligopnået, fagligønsket, borgeropnået, borgerønsket, symptom, funktion));
        }

        public void SletVirkningOpnået(IVirkningerOpnået vo) { ListeafVirkningerOpnået.Remove(vo); }

        public IVirkningerOpnået RedigerVirkningOpnået(IVirkningerOpnået vo, DateTime dato, string kommentar, bool udeblev, int fagligopnået, int fagligønsket, int borgeropnået, int borgerønsket, int symptom, int funktion)
        {
            vo.Dato = dato;
            vo.Kommentar = kommentar;
            vo.Udeblev = udeblev;
            vo.Fagligopnået = fagligopnået;
            vo.Fagligønsket = fagligønsket;
            vo.Borgeropnået = borgeropnået;
            vo.Borgerønsket = borgerønsket;
            vo.Symptom = symptom;
            vo.Funktion = funktion;
            return vo;
        }

        public IVirkningerOpnået VisVirkningOpnået(IVirkningerOpnået vo)
        {
            foreach (var item in ListeafVirkningerOpnået)
            {
                if (item == vo) return item;
            }
            return null;
        }
        #endregion

        #region Egenskaber
        public List<IVirkningerOpnået> ListeafVirkningerOpnået { get { return _listafvirkninger; } set { _listafvirkninger = value; } }
        #endregion
    }
}
